package com.its.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 报案信息对象
 * </p>
 *
 * @author 朱厚强
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("bus_insurance_policy")
@ApiModel(value = "BusInsurancePolicy对象", description = "")
@Data
public class BusInsurancePolicy implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("保单号，用于唯一标识该保单的编号。")
    @TableId(value = "policy_number", type = IdType.AUTO)
    private String policyNumber;

    @ApiModelProperty("投保人姓名，农户或农业企业的姓名或名称。")
    @TableField("insured_name")
    private String insuredName;

    @ApiModelProperty("投保人身份证号（或组织机构代码），用于身份验证。")
    @TableField("insured_id")
    private String insuredId;

    @ApiModelProperty("农户代码（或农业企业代码），用于标识农户或农业企业的特定代码。")
    @TableField("farm_code")
    private String farmCode;

    @ApiModelProperty("地址，投保人所在的详细地址。")
    @TableField("address")
    private String address;

    @ApiModelProperty("联系电话，投保人的联系电话。")
    @TableField("contact_number")
    private String contactNumber;

    @ApiModelProperty("农作物种类，投保的具体农作物品种。")
    @TableField("crop_type")
    private String cropType;

    @ApiModelProperty("种植面积，投保的农作物种植面积。")
    @TableField("planting_area")
    private BigDecimal plantingArea;

    @ApiModelProperty("保险金额，投保的农作物价值或保险赔偿金额。")
    @TableField("insurance_amount")
    private BigDecimal insuranceAmount;

    @ApiModelProperty("保险费率，农业保险费率，用于计算保险费用。")
    @TableField("insurance_rate")
    private BigDecimal insuranceRate;

    @ApiModelProperty("缴费金额，保险费用的实际缴纳金额。")
    @TableField("payment_amount")
    private BigDecimal paymentAmount;

    @ApiModelProperty("缴费日期，保险费用的缴纳日期。")
    @TableField("payment_date")
    private LocalDate paymentDate;

    @ApiModelProperty("保险起期，保险保障开始的日期。")
    @TableField("policy_start_date")
    private LocalDate policyStartDate;

    @ApiModelProperty("保险止期，保险保障结束的日期。")
    @TableField("policy_end_date")
    private LocalDate policyEndDate;

    @ApiModelProperty("投保险种，具体的农业保险险种。")
    @TableField("insurance_type")
    private String insuranceType;

    @ApiModelProperty("附加险种，可选的附加农业保险险种。")
    @TableField("additional_coverage")
    private String additionalCoverage;

    @ApiModelProperty("承保公司，提供农业保险服务的保险公司名称。")
    @TableField("insurance_company")
    private String insuranceCompany;

    @ApiModelProperty("保单状态，保单的当前状态，1有效、0失效等。")
    @TableField("policy_status")
    private Integer policyStatus;


}
